\documentclass{article}
\usepackage{float}
\restylefloat{figure}

\usepackage{subfig}

\usepackage{fontspec,xltxtra,xunicode}
\defaultfontfeatures{Mapping=tex-text}
\setromanfont[Mapping=tex-text]{Calluna}
\setsansfont[Scale=MatchLowercase,Mapping=tex-text]{Fontin}

\newcommand{\HRule}{\rule{\linewidth}{0.5mm}}

\usepackage{titlesec}
\usepackage{verbatim} 

%\titleformat{\section}
%	{\scshape\Large\raggedright}{}{0em}{}[\titlerule]
%\titlespacing{\section}{0pt}{15pt}{15pt}

%\titleformat{\subsection}
%	{\scshape\large\raggedright}{}{0em}{}[]
%\titlespacing{\subsection}{0pt}{0pt}{5pt}

\setlength{\textwidth}{5in}
\setlength{\oddsidemargin}{0.625in}


\begin{document}


\input{title_page.tex}

\section{Background and Motivation}

I am a game maker, and I've been inventing games of all sorts for most of my life. One of the things that interests me is finding the limits of games. What is the simplest game possible? The quickest? The longest? Can you make a worthwhile computer game which only uses one button, or doesn't have a display? Part of this limit-testing has been an attempt to find the game which is the most mentally taxing, which is to say that it requires the player to keep in mind the largest amount of game state, consider the largest number of possibilities, and generally give themselves the biggest headache. 

One approach I tried was extruding Chess, one of the deepest strategy games, into higher dimensions. Three such \textit{HyperChesses} are playable by mortal man;

\begin{description}


\item[3D Chess]

is Chess extruded into another spatial dimension. If the board is considered as a set of locations which can be described by two coordinates, $x$ and $y$, 3D chess involves the addition of a $z$ coordinate. The board, usually an 8$\times$8 square, becomes an 8$\times$8$\times$8 cube. All piece movements are generalised into 3D as far as possible. For example, knights may move to a location which is two away in any dimension and one away in any other dimension, while bishops move 'diagonally' by moving an equal distance in any two dimensions. In my first version, each side started with 128 pieces, a full set of pieces on each deck of the cube. This involved having 8 kings on each side, which confused the rules somewhat. In addition to this, the complete impracticality of using a physical 8-tiered chess board, or even using a 3D computer visualisation of one, meant that development of the idea didn't get far.


\item[Time Chess]

is Chess extruded into the extra dimension of Time. It is played on a regular board, and piece moves are generalised into the extra dimension as far as possible. For example, a knight could capture a piece that was in a position 2 spaces in front of the knight 1 turn ago (i.e. moving two in $y$ and one in $t$). A knight could also, for example, move one to the side and two to the future, capturing any piece to one side in two turns' time. Bishops can capture 1 away spatially 1 in the past or future, 2 away spatially 2 in the past or future, and so on. This is conceptually more confusing than 3D chess, but has the advantage of being playable on a standard chessboard if you keep proper records.

\item[3D Time HyperChess (4D HyperChess)]

is 3D Chess further extruded into the extra dimension of Time. Essentially the rule set is obtained by combining the rule sets of the previous two chesses. I was satisfied for some time that 3D Time HyperChess was the most mentally taxing game, until I considered the possibility of \textit{Blindfold 3D Time HyperChess}. Blindfold 3D Time HyperChess should only be attempted by experts, supported by a team of highly trained mental health professionals.

\end{description}


\section{Aims and Objectives}

For this project I intend to implement a computer game version of Time Chess. I chose to implement Time Chess rather than 3D Chess or 3d Time HyperChess for two reasons. Firstly, Time Chess, while confusing, is still a valid game that can be played on a normal chess board. Secondly, Time Chess would be achievable as a computer game, and have many benefits to the board version, for example visualisations to make the game more understandable, the possibility of network play, and no need to keep manual records.

\subsection{Project Components}

Ideally, the project would consist of the following

\paragraph{The rules of Time Chess.} There should either be a User Manual which lays them out, or an in-game tutorial or explanatory sequence, with demonstrative graphics etc.

\paragraph{An internal representation of the game.} The program should have sufficient knowledge of the rules of the game to know, for example, whether or not a given move is legal.

\paragraph{A display} to supply the user with information about the game state, and make the game easier to understand and play.

\paragraph{Multiplayer.} Local multiplayer (taking turns) should be trivial to implement, and Peer-to-Peer LAN multiplayer would not be too difficult. Full internet multiplayer may require dedicated servers.

\subsection{Room for Expansion}

\paragraph{Advanced graphics.} The display could be as simple as an ascii representation; 

\begin{center}
\begin{minipage}[H]{9em}
\begin{verbatim}
 _______________
|r|_|_|q|_|r|k|_|
|p|p|_|_|p|p|b|p|
|_|n|p|_|_|n|p|_|
|_|_|Q|_|_|_|B|_|
|_|_|_|P|P|_|b|_|
|_|_|N|_|_|N|_|_|
|P|P|_|_|_|P|P|P|
|_|_|_|R|K|B|_|R|
\end{verbatim}
\end{minipage}
\end{center}

but it would be better to have something more attractive. A graphical display would be good, a fully 3D display would be better.

\paragraph{AI} would be a serious challenge. Writing a good chess AI can be the topic of a dissertation in itself, so I don't expect to achieve this. I may examine the possibility of extending an existing Chess AI with the extra rules, but this is beyond the scope of the project.

\paragraph{Full-featured multiplayer} with online accounts, matchmaking, ranking etc. This would be more time consuming than difficult.


\section{Project Plan}

\subsection{Tasks}

\begin{itemize}
\item Codify rules of Time Chess - The game's rules need to be fully decided and formalised. Produce a document laying out in clear and unambiguous terms the rules of Time Chess.
	\begin{itemize}
	\item Research - Learn the existing rules of chess; Find examples of how chess-like game rules are presented
	\item Implement - Produce a draft document with the rules
	\item Test - Present people unfamiliar with Time Chess with the document, get feedback
	\end{itemize}

\item Design internal representation of game state - Produce an Object-Oriented system capable of modelling a game from beginning to end, allowing only legal moves.
	\begin{itemize}
	\item Identify aspects of the problem to represent with objects
	\item Build a mechanism for movement, turns etc
	\item Design data structures for storing past game states
	\item Design movement restriction functions
	\item Implement more complex rules - castling, promotion, \textit{en passant} etc.
	\end{itemize}
\item Design visualisation - Design an attractive user interface for the system that makes the game as clear and easy to use as possible.
	\begin{itemize}
	\item Produce a system by which the user can clearly see the state of the board
	\item Build a user input scheme allowing the user to easily enter moves
	\item Design a graphical representation of the movement restriction function, allowing a user to see where they are allowed to move
	\end{itemize}
\end{itemize}

\newpage
\subsection{Milestones}

\raggedleft{\textit{\small Non-exhaustive list, dates are rough estimates, plan is subject to change}}

\begin{tabular}{rl}
2010\\
5 \textsc{Nov}						&	Set up work environment (tools, version control, etc) \\
8 \textsc{Nov}						&	Draft \textit{Time Chess Rules} Document \\
15 \textsc{Nov}						&	Build one or more general chess game prototypes\\
22 \textsc{Nov}						&	Interview skilled chess player(s). Requires Draft Document. \\
29 \textsc{Nov} - 4 \textsc{Dec}	&	Presentation \\
10 \textsc{Dec}						&	Research existing chess game implementations \\
2011\\
10 \textsc{Jan}						&	Produce layout of OO design for backend. Requires Research \\
15 \textsc{Feb}						&	Implement backend. Requires OO design plan. \\
27 \textsc{Feb}						&	Implement game mechanics. Requires Rules Document. \\
10 \textsc{Mar}						&	Experiment with display possibilities, build prototypes \\
22 \textsc{Mar}						&	Have a functional system \\
15 \textsc{Apr}						&	Complete write-up \\
06 \textsc{May}						&	Finalise and hand in Dissertation \\

\end{tabular}

\begin{comment}
 - Background \& Motivation

   - How did I come up against the problem

   - Why am I interested in solving it

- Aims \& Objectives

   - How do I want to solve the problem in question

   - What do I want to achieve in solving the problem

   - What kind of possible extensions does the project offer, that could be undertaken if you have time, or as an extended degree etc.

- Project Plan

   - Major tasks to be undertaken

   - Milestones on the way to each major task, with a date assigned to each major milestone (but not necessarily the minor ones, as these can be flexible)

Milestones include:

 - Research

 - Prototype

 - Working system

 - Testing/Evaluation

 - Documentation
\end{comment}
\end{document}
